Java and numerical computing

نویسندگان

  • Ronald F. Boisvert
  • José E. Moreira
  • Michael Philippsen
  • Roldan Pozo
چکیده

We start this article by asking: Does Java have a role to play in the world of numerical computing? We strongly believe so. Java has too much to offer to be ignored. First of all, Java is portable at both the source and object format levels. The source format for Java is the text in a .java file. The object format is the bytecode in a .class file. Either type of file is expected to behave the same on any computer with the appropriate Java compiler and Java virtual machine. Second, Java code is safe to the host computer. Programs (more specifically, applets) can be executed in a sandbox environment that prevents them from doing any operation (such as writing to a file or opening a socket) which they are not authorized to do. The combination of portability and safety opens the way to a new scale of web-based global computing, in which an application can run distributed over the Internet [?]. Third, Java implements a simple object-oriented model with important features (e.g., single inheritance, garbage collection) that facilitate the learning curve for newcomers. But the most important thing Java has to offer is its pervasiveness, in all aspects. Java runs on virtually every platform Universities all over the world are teaching Java to their students. Many specialized class libraries, from three-dimensional graphics to online transaction processing, are available in Java. With such universal availability and support, it only makes sense to consider Java for the development of numerical applications. Indeed, a growing community of scientists and engineers developing new applications in Java has been slowly developing. A rallying point for this community has been the Java Grande Forum (http://www.javagrande.org) (see sidebar). There are some difficulties, though, with the wide-scale adoption of Java as a language for numerical computing. Java, in its current state of specification and level of implementation, is probably quite adequate for some of the GUI, postprocessing, and coordination components of a large numerical application. It fails, however, to provide some of the features that hard-core numerical programmers have grown accustomed to, such as complex numbers and true multidimensional arrays. Finally, as any language that caters to programmers of numerical applications, Java has to pass the critical test: its performance on floating-point intensive code must be (at least) on par with the incumbents C and Fortran.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

High performance numerical libraries in Java

In this paper we outline a set of numerical libraries for high performance scientific computing. The libraries are implemented in the Java programming language, which offers modern features such as clean object orientation, platform independence, garbage collection and more. Java has been regarded as unsuitable for high computing due to its conceived low performance. In this article we show how...

متن کامل

The NINJA Project: Making Java Work for High Performance Numerical Computing

When Java(TM) was first introduced, there was a perception (properly founded at the time) that its many benefits came at a significant performance cost. In few areas were the performance deficiencies of Java so blatant as in numerical computing. Our own measurements, with second-generation Java virtual machines, showed differences in performance of up to one hundred-fold relative to C or Fortra...

متن کامل

A Review of Numerical Methods for Computing Point and Interval Estimates by S-PLUS Package

For computing different point estimates such as method of moment and maximum like-lihood estimates and different interval estimates (classical confidence interval, unbi-ased confidence interval, HPD interval), we may deal with the equations which need be solved numerically. In this paper, some numerical methods for solving these type of equations are reviewed in S-PLUS package. Various examples...

متن کامل

Java Access to Numerical Libraries

It is a common and somewhat erroneous belief that Java will always be \too slow" for scienti c computing. Two projects underway at the University of Tennessee are addressing the question of scienti c computing via Java: NetSolve and f2j. The approaches taken by these two projects are radically di erent. NetSolve allows users to access pre-installed computational resources, such as hardware and ...

متن کامل

NINJA: Java for high performance numerical computing

When Java was first introduced, there was a perception that its many benefits came at a significant performance cost. In the particularly performance-sensitive field of numerical computing, initial measurements indicated a hundred-fold performance disadvantage between Java and more established languages such as Fortran and C. Although much progress has been made, and Java now can be competitive...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Computing in Science and Engineering

دوره 3  شماره 

صفحات  -

تاریخ انتشار 2001